// 闭包
// 函数在执行完之后，发现内部还定义了一个函数，并且内部函数作为返回值，这样外层函数的作用域不会被销毁，以方便内部函数执行的时候，可以访问

function sayName(name) {
  const msg = 'Hi';
  return function () {
    console.log(`${msg}, i am ${name}`);
  };
}

const p = sayName('cuvee');

p();
